﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace Projeto3D
{
    class InimigoManager
    {
        //Static esta salva dentro da classe
        //Public e o nivel de protecao dentro da classe
        public List<Inimigo> listaInimigo;

        private Model inimigoModel;
        private Vector3 personagemLastPosition;

        public InimigoManager(Model inimigo)
        {
            this.listaInimigo = new List<Inimigo>();
            this.inimigoModel = inimigo;
            this.personagemLastPosition = new Vector3();
        }

        public void addInimigo(Vector3 posicao)
        {
            Inimigo inimigo = new Inimigo(this.inimigoModel);
            inimigo.position = posicao;
            inimigo.escala = new Vector3(0.1f,0.1f,0.1f);
            inimigo.rotacao = new Vector3(-90,0,0);

            //inimigo.angulo = angulo;
            listaInimigo.Add(inimigo);
        }

        public void draw(Camera3D camera)
        {
            for (int i = 0; i < listaInimigo.Count; i++)
            {
                listaInimigo[i].draw(camera);
            }            
        }

        public void update(Personagem3D personagem)
        {
            for (int i = 0; i < listaInimigo.Count; i++)
            {
                if (personagem != null)
                {
                    listaInimigo[i].update(personagem.position);
                    this.personagemLastPosition = personagem.position;
                }
                else
                {
                    listaInimigo[i].update();
                }
            }
        }

    }
}